#ifndef ALTTILEDMAPPLUGIN_H
#define ALTTILEDMAPPLUGIN_H

#include "altmapeditorplugin.h"
#include "altmapplugin.h"

namespace Alt {
     class Map;
     class AbstractMapEditor;

     /*! Map plugin which provides the 'alt tiled map' and 'alt isometric tiled map' types. */
     class TiledMapPlugin : public QObject, public MapPlugin, public MapEditorPlugin {
          Q_OBJECT
          Q_INTERFACES(Alt::Plugin Alt::MapPlugin Alt::MapEditorPlugin)
     public:
          Map* createMap(const QString& type) const;

          AbstractMapEditor* createMapEditor(const QString& type, const QString& fileName = "", QWidget* parent = 0) const;

          QString pluginDescription() const;

          QString pluginName() const;

          QStringList mapTypes() const;

          QStringList supportedMapTypes() const;
     };
}

#endif
